Spring Cloud Task (Microservices Choreography)

Java Technologies - স্প্রিং ক্লাউড (Spring Cloud)
152
152

স্প্রিং ক্লাউড টাস্ক (Spring Cloud Task) হলো স্প্রিং ক্লাউড ইকোসিস্টেমের একটি উপাদান, যা ছোট এবং স্বল্পস্থায়ী (short-lived) মাইক্রোসার্ভিস অ্যাপ্লিকেশন বা টাস্ক তৈরি এবং পরিচালনার জন্য ব্যবহৃত হয়। এটি সাধারণত এমন কাজের জন্য ব্যবহৃত হয় যেগুলো একবার চালানো হয় এবং একটি নির্দিষ্ট সময়ে সম্পন্ন হয়, যেমন ব্যাচ প্রসেসিং বা ডেটা মাইগ্রেশন।

মাইক্রোসার্ভিস কোরিওগ্রাফি (Microservices Choreography)

স্প্রিং ক্লাউড টাস্ক মাইক্রোসার্ভিস কোরিওগ্রাফি (Microservices Choreography) সমর্থন করে, যেখানে বিভিন্ন মাইক্রোসার্ভিস স্বাধীনভাবে কাজ করে এবং নিজেদের মধ্যে ঘটনার (event) মাধ্যমে যোগাযোগ করে। এটি মাইক্রোসার্ভিস কমিউনিকেশনের একটি বিকেন্দ্রীকৃত (decentralized) পদ্ধতি।


স্প্রিং ক্লাউড টাস্ক-এর মূল বৈশিষ্ট্য

স্বল্পস্থায়ী টাস্ক

স্প্রিং ক্লাউড টাস্ক স্বল্পস্থায়ী প্রক্রিয়ার জন্য ডিজাইন করা হয়েছে, যা একবার শুরু হয়ে একটি নির্দিষ্ট সময়ে শেষ হয়। এটি দীর্ঘস্থায়ী সার্ভিসের মতো স্থায়ীভাবে চালু থাকে না।

স্বয়ংক্রিয় লজিক এবং রিসোর্স ক্লিনআপ

টাস্ক সম্পন্ন হওয়ার পর স্বয়ংক্রিয়ভাবে লজিক এক্সিকিউশন শেষ করে এবং অপ্রয়োজনীয় রিসোর্স ক্লিনআপ করে।

ইভেন্ট-চালিত (Event-Driven) ডিজাইন

স্প্রিং ক্লাউড টাস্ক অন্যান্য মাইক্রোসার্ভিসের সাথে ইভেন্টের মাধ্যমে যোগাযোগ করতে পারে। এটি স্প্রিং ক্লাউড স্ট্রিম (Spring Cloud Stream) বা মেসেজ ব্রোকারের মাধ্যমে কাজ করে।

সেন্ট্রালাইজড লগিং এবং মনিটরিং

স্প্রিং ক্লাউড টাস্ক এক্সিকিউটেড টাস্কগুলোর ফলাফল এবং মেটাডেটা সেন্ট্রালাইজড ডেটাবেসে সংরক্ষণ করে, যা মনিটরিং এবং বিশ্লেষণের জন্য ব্যবহৃত হয়।


মাইক্রোসার্ভিস কোরিওগ্রাফি এবং স্প্রিং ক্লাউড টাস্ক

কোরিওগ্রাফির ধারণা

মাইক্রোসার্ভিস কোরিওগ্রাফি হলো এমন একটি পদ্ধতি যেখানে প্রতিটি মাইক্রোসার্ভিস স্বাধীনভাবে কাজ করে এবং ইভেন্টের মাধ্যমে নিজেদের মধ্যে সমন্বয় সাধন করে। এতে কোনো কেন্দ্রীয় নিয়ন্ত্রণ (central orchestrator) থাকে না।

স্প্রিং ক্লাউড স্ট্রিম-এর ব্যবহার

স্প্রিং ক্লাউড টাস্ক কোরিওগ্রাফির জন্য স্প্রিং ক্লাউড স্ট্রিম ব্যবহার করে। এটি Apache Kafka, RabbitMQ, বা অন্যান্য মেসেজ ব্রোকারের মাধ্যমে ইভেন্ট পাঠানো এবং গ্রহণ করা সম্ভব করে।

টাস্কের জীবনচক্র (Task Lifecycle)

  1. শুরু: টাস্ক শুরু হয় এবং তার কাজ সম্পন্ন করার জন্য নির্দিষ্ট লজিক চালায়।
  2. ইভেন্ট প্রকাশ: টাস্ক তার কাজ শেষে একটি ইভেন্ট প্রকাশ করে, যা অন্য মাইক্রোসার্ভিসগুলো গ্রহণ করতে পারে।
  3. শেষ: কাজ সম্পন্ন হওয়ার পর টাস্ক বন্ধ হয়ে যায় এবং রিসোর্স ফ্রি করে।

স্প্রিং ক্লাউড টাস্ক-এর ব্যবহারক্ষেত্র

  • ব্যাচ প্রসেসিং: ডেটা প্রসেসিং বা রিপোর্ট জেনারেশনের মতো কাজের জন্য।
  • ডেটা মাইগ্রেশন: একটি সিস্টেম থেকে অন্য সিস্টেমে ডেটা স্থানান্তর করার জন্য।
  • ইভেন্ট-চালিত প্রসেসিং: ইভেন্টের ভিত্তিতে নির্দিষ্ট কাজ সম্পাদনের জন্য।
  • অ্যাপ্লিকেশন ইনিশিয়ালাইজেশন: বড় অ্যাপ্লিকেশন চালুর আগে প্রাথমিক কাজ সম্পন্ন করার জন্য।

স্প্রিং ক্লাউড টাস্ক-এর সুবিধা

  • সহজ ইন্টিগ্রেশন: স্প্রিং ক্লাউডের অন্যান্য উপাদানের সঙ্গে সহজে ইন্টিগ্রেশন করা যায়।
  • ইভেন্ট-চালিত আর্কিটেকচার: মাইক্রোসার্ভিস কোরিওগ্রাফির মাধ্যমে বিকেন্দ্রীকৃত এবং স্কেলেবল সিস্টেম তৈরি করা যায়।
  • সেন্ট্রালাইজড মনিটরিং: সম্পন্ন হওয়া টাস্কগুলোর তথ্য সেন্ট্রালাইজড লগিং সিস্টেমে সংরক্ষণ করে।

Content added By

Task কি এবং এর কাজ

439
439

স্প্রিং ক্লাউডে টাস্ক (Task) হলো একটি স্বল্পস্থায়ী, এককালীন এক্সিকিউশন ভিত্তিক প্রক্রিয়া যা সাধারণত নির্দিষ্ট একটি কাজ সম্পন্ন করার জন্য ব্যবহৃত হয়। এটি সাধারণত ব্যাকগ্রাউন্ড প্রসেস বা ক্রন জবের মতো কার্যক্রম সম্পন্ন করতে ব্যবহৃত হয়, যেখানে কাজটি সম্পূর্ণ হওয়ার পর প্রসেস বন্ধ হয়ে যায়।

স্প্রিং ক্লাউড টাস্ক Spring Cloud Task মডিউলের মাধ্যমে পরিচালিত হয়। এটি সহজেই স্প্রিং বুট অ্যাপ্লিকেশনের সাথে একীভূত করা যায় এবং টাস্কের এক্সিকিউশন ট্র্যাক করে।


স্প্রিং ক্লাউড টাস্কের কাজ

স্বল্পস্থায়ী প্রক্রিয়া চালানো

টাস্ক এমন কাজের জন্য ব্যবহৃত হয়, যা নির্দিষ্ট সময়ের মধ্যে সম্পন্ন হতে পারে এবং বারবার চালানোর প্রয়োজন নেই। উদাহরণস্বরূপ, ডাটাবেস মাইগ্রেশন বা ব্যাচ প্রসেসিং।

টাস্ক এক্সিকিউশন ট্র্যাকিং

স্প্রিং ক্লাউড টাস্ক একটি টাস্কের শুরু, শেষ এবং ফলাফল ট্র্যাক করে, যা ডিবাগিং এবং মনিটরিং সহজ করে তোলে।

ব্যাচ প্রসেসিং সমর্থন

স্প্রিং ক্লাউড টাস্ক স্প্রিং ব্যাচ (Spring Batch) এর সাথে একীভূত হয়ে বড় আকারের ডেটা প্রসেসিংয়ের কাজ সম্পন্ন করতে পারে।

সহজ ইন্টিগ্রেশন

স্প্রিং ক্লাউড টাস্ক সহজে স্প্রিং ফ্রেমওয়ার্কের অন্যান্য মডিউলের সাথে ইন্টিগ্রেট করা যায়, যেমন স্প্রিং বুট, স্প্রিং ক্লাউড ডাটা ফ্লো।


স্প্রিং ক্লাউড টাস্কের মূল বৈশিষ্ট্য

স্বয়ংক্রিয় কনফিগারেশন

স্প্রিং বুটের মতো, স্প্রিং ক্লাউড টাস্ক স্বয়ংক্রিয় কনফিগারেশন সমর্থন করে। ফলে ডেভেলপারদের ম্যানুয়ালি জটিল কনফিগারেশন করতে হয় না।

এক্সিকিউশন লগ

টাস্কের এক্সিকিউশন ডেটা ডাটাবেসে সংরক্ষণ করা হয়, যেমন শুরু এবং শেষ সময়, টাস্কের আইডি এবং ফলাফল।

রিস্টার্ট সাপোর্ট

যদি কোনো টাস্ক ব্যর্থ হয়, তাহলে সেটি পুনরায় চালানোর সুবিধা প্রদান করে।


উদাহরণ টাস্ক ব্যবহারের ক্ষেত্রে

ডেটা প্রসেসিং

বড় ডেটাবেজ থেকে ডেটা এক্সট্রাক্ট করা এবং অন্য কোনো সার্ভারে আপলোড করা।

ইমেইল পাঠানো

ব্যবহারকারীদের একটি নির্দিষ্ট সময় পরে স্বয়ংক্রিয় ইমেইল পাঠানোর কাজ।

ফাইল কনভার্শন

এক ফরম্যাট থেকে অন্য ফরম্যাটে ফাইল রূপান্তর।


স্প্রিং ক্লাউড টাস্ক কিভাবে কাজ করে?

১. স্প্রিং বুট অ্যাপ্লিকেশন তৈরি করা
একটি স্প্রিং বুট অ্যাপ্লিকেশন তৈরি করে @EnableTask অ্যানোটেশন যোগ করতে হয়।

২. কাজের লজিক প্রদান করা
টাস্কের নির্দিষ্ট কাজের লজিক CommandLineRunner বা ApplicationRunner ইন্টারফেসের মাধ্যমে সংজ্ঞায়িত করা হয়।

৩. টাস্ক এক্সিকিউট করা
অ্যাপ্লিকেশন চালু করলে টাস্কের কাজ সম্পন্ন হয় এবং তারপর অ্যাপ্লিকেশন বন্ধ হয়ে যায়।

কোড উদাহরণ:

@SpringBootApplication
@EnableTask
public class MyTaskApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyTaskApplication.class, args);
    }

    @Bean
    public CommandLineRunner taskRunner() {
        return args -> {
            System.out.println("Executing Task...");
            // আপনার নির্দিষ্ট লজিক এখানে লিখুন।
        };
    }
}

সারাংশ

স্প্রিং ক্লাউড টাস্ক ছোট ও স্বল্পস্থায়ী কাজের জন্য আদর্শ, যা একবার চালিয়ে কাজ সম্পন্ন করা যায়। এটি নির্দিষ্ট কাজের লজিক পরিচালনা, এক্সিকিউশন লগিং এবং ব্যাচ প্রসেসিংয়ের সুবিধা প্রদান করে। মাইক্রোসার্ভিস আর্কিটেকচারের মধ্যে স্বয়ংক্রিয় টাস্ক ব্যবস্থাপনার জন্য এটি একটি সহজ এবং কার্যকর সমাধান।


Content added By

Spring Cloud Task ব্যবহার করে Short-lived Microservices তৈরি করা

84
84

Spring Cloud Task পরিচিতি

Spring Cloud Task একটি ফ্রেমওয়ার্ক যা Short-lived Microservices বা কম সময়ের জন্য কার্যকরী মাইক্রোসার্ভিস তৈরি করতে ব্যবহৃত হয়। এটি সাধারণত এমন কাজের জন্য ব্যবহৃত হয় যা নির্দিষ্ট একটি কাজ সম্পন্ন করে শেষ হয়ে যায়, যেমন ডেটা প্রসেসিং, ব্যাচ প্রসেসিং, বা কোনো নির্দিষ্ট অপারেশন। Spring Cloud Task মূলত Spring Boot এর সুবিধা ব্যবহার করে ছোট, কার্যকর, এবং সহজে ব্যবস্থাপিত মাইক্রোসার্ভিস তৈরি করতে সাহায্য করে।


Spring Cloud Task এর বৈশিষ্ট্য

  • Short-lived: এই মাইক্রোসার্ভিসগুলো একটি নির্দিষ্ট কাজ সম্পন্ন করার পরে বন্ধ হয়ে যায়।
  • Event Tracking: টাস্ক শুরু এবং শেষের সময়ের জন্য ইভেন্ট লগিং।
  • Integration Ready: Spring Batch এবং অন্যান্য স্প্রিং মডিউলের সঙ্গে সহজেই ইন্টিগ্রেট করা যায়।
  • Cloud-Native: মাইক্রোসার্ভিস আর্কিটেকচারের সাথে ভালোভাবে কাজ করে।

Spring Cloud Task এর ব্যবহার

নির্দিষ্ট কাজের উদাহরণ

Spring Cloud Task সাধারণত নিচের কাজগুলোর জন্য ব্যবহৃত হয়:

  • ডেটা মাইগ্রেশন।
  • লার্জ ডেটা সেট প্রসেসিং।
  • Cron jobs বা Scheduled jobs।
  • ব্যাচ প্রসেসিং কাজ।

Spring Cloud Task কনফিগারেশন

Spring Cloud Task প্রজেক্ট সেটআপ করতে নিচের ধাপগুলো অনুসরণ করুন:

১. Maven নির্ভরতা (Dependencies) যোগ করা

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-task</artifactId>
</dependency>

২. Task অ্যাপ্লিকেশন তৈরি করা

Spring Boot অ্যাপ্লিকেশন ক্লাসে @EnableTask অ্যানোটেশন ব্যবহার করতে হবে।

@SpringBootApplication
@EnableTask
public class TaskApplication {
    public static void main(String[] args) {
        SpringApplication.run(TaskApplication.class, args);
    }
}

৩. টাস্ক ডিফাইন করা

একটি CommandLineRunner বা ApplicationRunner ইমপ্লিমেন্ট করে টাস্কের কার্যক্রম নির্ধারণ করা হয়।

@Component
public class MyTask implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
        System.out.println("Short-lived task is executing...");
        // আপনার লজিক এখানে লিখুন
    }
}

Spring Cloud Task এর Spring Batch এর সাথে ইন্টিগ্রেশন

Spring Cloud Task সহজেই Spring Batch এর সাথে কাজ করতে পারে। একটি Spring Batch কাজ সম্পন্ন করার পরে টাস্ক স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়।

@Bean
public Job job(JobBuilderFactory jobBuilderFactory, StepBuilderFactory stepBuilderFactory) {
    return jobBuilderFactory.get("job")
        .start(stepBuilderFactory.get("step")
            .tasklet((contribution, chunkContext) -> {
                System.out.println("Executing Spring Batch task...");
                return RepeatStatus.FINISHED;
            }).build())
        .build();
}

Spring Cloud Task ডিপ্লয়মেন্ট

Spring Cloud Task অ্যাপ্লিকেশনগুলি সাধারণত Kubernetes বা Docker এর মাধ্যমে ডিপ্লয় করা হয়। এটি সহজে স্কেল করা যায় এবং ক্লাউড প্ল্যাটফর্মে কার্যকরভাবে পরিচালনা করা যায়।


ব্যবহারিক উদাহরণ

ডেটা মাইগ্রেশন টাস্ক

Spring Cloud Task ব্যবহার করে একটি ডেটা মাইগ্রেশন টাস্ক তৈরি করা যায়, যেখানে ডাটাবেস থেকে ফাইল সিস্টেমে ডেটা স্থানান্তর করা হয়।

ব্যাচ প্রসেসিং

ব্যাচ প্রসেসিংয়ের কাজ সম্পন্ন করতে Spring Cloud Task ব্যবহার করা যায়, যেমন বড় ডেটাসেট থেকে প্রক্রিয়াকৃত ডেটা এক্সট্র্যাক্ট করা।


Spring Cloud Task এর মাধ্যমে Short-lived Microservices তৈরি করা সহজ এবং কার্যকর। এটি মাইক্রোসার্ভিস আর্কিটেকচারে নির্দিষ্ট কাজের জন্য একটি নির্ভরযোগ্য সমাধান প্রদান করে।


Content added By

Spring Batch এর সাথে Task Integration

84
84

স্প্রিং ক্লাউড এবং স্প্রিং ব্যাচ একত্রে মাইক্রোসার্ভিস ভিত্তিক ব্যাচ প্রসেসিং (Batch Processing) এবং টাস্ক ম্যানেজমেন্টকে সহজতর করে। স্প্রিং ক্লাউড টাস্ক (Spring Cloud Task) ব্যবহার করে স্প্রিং ব্যাচ জব (Spring Batch Job) তৈরি এবং পরিচালনা করা যায়। এটি ছোট বা এককালীন টাস্ক (Short-lived or One-off Tasks) কার্যকর করার জন্য একটি কার্যকর সমাধান।


স্প্রিং ক্লাউড টাস্ক কী?

স্প্রিং ক্লাউড টাস্ক হল একটি মাইক্রোসার্ভিস ভিত্তিক টুল যা স্বল্পমেয়াদী প্রসেসগুলো সম্পন্ন করতে ব্যবহৃত হয়। এটি সাধারণত স্প্রিং ব্যাচের সাথে ইন্টিগ্রেট করে ব্যাচ প্রসেসিংকে আরও কার্যকর করে।


স্প্রিং ক্লাউড টাস্ক-এর বৈশিষ্ট্য

সংক্ষিপ্তমেয়াদী টাস্ক

স্প্রিং ক্লাউড টাস্ক এমন অ্যাপ্লিকেশন তৈরিতে ব্যবহৃত হয় যা একটি নির্দিষ্ট কাজ সম্পন্ন করে এবং এরপর বন্ধ হয়ে যায়।

স্প্রিং ব্যাচ ইন্টিগ্রেশন

স্প্রিং ক্লাউড টাস্ক স্প্রিং ব্যাচের সাথে ইন্টিগ্রেট হয়ে জব পরিচালনা সহজতর করে।

কেন্দ্রীয় লগিং

প্রতিটি টাস্কের স্ট্যাটাস এবং লগ ডাটা সংরক্ষণ করে, যা ডিবাগিং এবং মনিটরিংয়ের জন্য সহায়ক।


স্প্রিং ক্লাউড টাস্ক এবং স্প্রিং ব্যাচ ইন্টিগ্রেশনের ধাপ

নির্ভরতা সংযোজন

প্রকল্পে স্প্রিং ক্লাউড টাস্ক এবং স্প্রিং ব্যাচের জন্য প্রয়োজনীয় ডিপেনডেন্সি যুক্ত করতে হবে।

Maven উদাহরণ:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-task</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.batch</groupId>
    <artifactId>spring-batch-core</artifactId>
</dependency>

টাস্ক অ্যাপ্লিকেশন তৈরি

স্প্রিং বুট অ্যাপ্লিকেশন তৈরি করতে হবে যা @EnableTask এনোটেশন ব্যবহার করবে।

@EnableTask
@SpringBootApplication
public class TaskApplication {
    public static void main(String[] args) {
        SpringApplication.run(TaskApplication.class, args);
    }
}

স্প্রিং ব্যাচ জব সংজ্ঞায়িত করা

স্প্রিং ব্যাচ জব তৈরি করতে Job এবং Step সংজ্ঞায়িত করতে হবে।

@Bean
public Job sampleJob(JobBuilderFactory jobBuilderFactory, StepBuilderFactory stepBuilderFactory) {
    return jobBuilderFactory.get("sampleJob")
        .start(sampleStep(stepBuilderFactory))
        .build();
}

@Bean
public Step sampleStep(StepBuilderFactory stepBuilderFactory) {
    return stepBuilderFactory.get("sampleStep")
        .tasklet((contribution, chunkContext) -> {
            System.out.println("Executing Batch Job...");
            return RepeatStatus.FINISHED;
        }).build();
}

অ্যাপ্লিকেশন প্রোপার্টিজ কনফিগারেশন

application.properties ফাইলে টাস্ক এবং ব্যাচ সম্পর্কিত সেটআপ যুক্ত করতে হবে।

spring.cloud.task.name=sampleTask
spring.batch.job.enabled=true

ডেটাবেস সেটআপ

স্প্রিং ক্লাউড টাস্ক এবং স্প্রিং ব্যাচ কার্যকর করতে ডেটাবেসে স্ট্যাটাস এবং মেটাডেটা সংরক্ষণ করা হয়। প্রয়োজনীয় ডেটাবেস স্ক্রিপ্ট রান করতে হবে।


টাস্ক এবং ব্যাচ ইন্টিগ্রেশনের সুবিধা

  • সহজ ইন্টিগ্রেশন: স্প্রিং ক্লাউড টাস্ক এবং স্প্রিং ব্যাচ একত্রে ব্যবহার করলে ব্যাচ প্রসেসিং এবং টাস্ক ম্যানেজমেন্ট আরও কার্যকর হয়।
  • স্কেলযোগ্যতা: মাইক্রোসার্ভিস আর্কিটেকচারের সঙ্গে সামঞ্জস্যপূর্ণ।
  • স্বয়ংক্রিয় জব পুনরায় চালানো: ব্যর্থ জব পুনরায় চালানোর জন্য বিল্ট-ইন সাপোর্ট।
  • লগ এবং মেটাডেটা ট্র্যাকিং: প্রতিটি টাস্ক এবং ব্যাচ জবের জন্য বিস্তারিত তথ্য সংরক্ষণ।

সারাংশ

স্প্রিং ক্লাউড এবং স্প্রিং ব্যাচের ইন্টিগ্রেশন ডেভেলপারদের জন্য একটি শক্তিশালী টুলসেট সরবরাহ করে, যা মাইক্রোসার্ভিস ভিত্তিক ব্যাচ প্রসেসিং এবং টাস্ক ম্যানেজমেন্ট সহজতর করে। এটি স্বল্পমেয়াদী টাস্ক পরিচালনা এবং ব্যাচ জব সংহত করার মাধ্যমে কার্যক্ষমতা বৃদ্ধি করে।


Content added By

উদাহরণ সহ Spring Cloud Task

93
93

স্প্রিং ক্লাউড টাস্ক (Spring Cloud Task) হলো এক-বার চলমান (short-lived) মাইক্রোসার্ভিস বা জব (Job) তৈরি করার জন্য একটি ফ্রেমওয়ার্ক। এটি স্প্রিং বুটের (Spring Boot) উপর ভিত্তি করে তৈরি এবং ডেটা প্রসেসিং, ব্যাচ প্রসেসিং, বা যেকোনো সাময়িক টাস্ক সম্পাদনের জন্য উপযুক্ত।


স্প্রিং ক্লাউড টাস্ক-এর বৈশিষ্ট্য

  • শর্ট-লিভড টাস্ক: টাস্ক সম্পন্ন হওয়ার পর স্বয়ংক্রিয়ভাবে অ্যাপ্লিকেশন বন্ধ হয়ে যায়।
  • ইন্টিগ্রেশন: এটি সহজেই স্প্রিং বুট ব্যাচ (Spring Batch) এবং স্প্রিং ক্লাউড ডেটা ফ্লো (Spring Cloud Data Flow)-এর সাথে ইন্টিগ্রেট করা যায়।
  • টাস্ক মনিটরিং: টাস্ক এক্সিকিউশনের স্ট্যাটাস, মেটাডেটা এবং লগ ম্যানেজমেন্ট সরবরাহ করে।
  • পোর্টেবল: স্প্রিং ক্লাউড টাস্ক সহজে ক্লাউড পরিবেশে ডিপ্লয় করা যায়।

উদাহরণ: স্প্রিং ক্লাউড টাস্ক তৈরি

প্রজেক্ট সেটআপ

স্প্রিং ইনিশিয়ালাইজার (Spring Initializr) থেকে একটি স্প্রিং বুট প্রজেক্ট তৈরি করুন। প্রয়োজনীয় ডিপেন্ডেন্সি যুক্ত করুন:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-task</artifactId>
</dependency>

টাস্ক ক্লাস তৈরি

@EnableTask অ্যানোটেশন ব্যবহার করে একটি স্প্রিং ক্লাউড টাস্ক তৈরি করুন:

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.task.configuration.EnableTask;

@SpringBootApplication
@EnableTask
public class SpringCloudTaskApplication implements CommandLineRunner {

    public static void main(String[] args) {
        SpringApplication.run(SpringCloudTaskApplication.class, args);
    }

    @Override
    public void run(String... args) {
        System.out.println("Spring Cloud Task is running!");
        System.out.println("Arguments: ");
        for (String arg : args) {
            System.out.println(arg);
        }
    }
}

অ্যাপ্লিকেশন প্রোপার্টিজ কনফিগারেশন

application.properties ফাইলে স্প্রিং ক্লাউড টাস্কের জন্য প্রাথমিক কনফিগারেশন যোগ করুন:

spring.application.name=spring-cloud-task-example
spring.cloud.task.closecontext.enabled=true

টাস্ক চালানো

ম্যাভেন বা গ্র্যাডল ব্যবহার করে অ্যাপ্লিকেশন চালান:

mvn spring-boot:run -Dspring-boot.run.arguments="arg1 arg2"

আউটপুটে আপনি নিম্নলিখিত দেখতে পাবেন:

Spring Cloud Task is running!
Arguments:
arg1
arg2

স্প্রিং ক্লাউড টাস্ক-এর ব্যবহার

  1. ডেটা প্রসেসিং: ডেটা মাইগ্রেশন, ফাইল প্রক্রিয়াজাতকরণ ইত্যাদির জন্য।
  2. ব্যাচ জব: স্প্রিং ব্যাচের মাধ্যমে ডেটা ব্যাচ প্রসেসিং।
  3. সিস্টেম রক্ষণাবেক্ষণ: সাময়িক রক্ষণাবেক্ষণের কাজ বা টুলস।

স্প্রিং ক্লাউড টাস্ক একটি সংক্ষিপ্ত এবং কার্যকর উপায় প্রদানের মাধ্যমে ডেভেলপারদের মাইক্রোসার্ভিস জব সহজে সম্পন্ন করতে সাহায্য করে। এটি স্প্রিং ক্লাউড ডেটা ফ্লো-এর মাধ্যমে বৃহৎ স্কেল অ্যাপ্লিকেশন পরিচালনার একটি শক্তিশালী উপাদান।

Content added By
Promotion